/*
 * Rame.h
 *
 *  Created on: 7 mars 2011
 *      Author: Julien
 */

#ifndef RAME_H_
#define RAME_H_

#include "Voiture.h"
#include "Traction.h"
#include "Section.h"
#include <iostream>

using namespace std;

class Station;

class Rame {
private:
	Section* section;
	Voiture * voiture;
	Traction * traction;
	int numeroSection;
	int positionSection;
public:
	Rame(Voiture * voiture, Traction * traction);
	void demarrer();
	void ouvrirPortes();
	void fermerPortes();

	void gererArretStation();
	void alerterPassagers(Station * station);
	void arreter();
	int getNumeroSection();
	Section* getSection();
	int getPosition();
	void setPosition(int position);
	void setNumeroSection(int section);
	void setSection(Section* sec);
	void rejoindreVoiture(Passager * pass);
	Voiture * getVoiture();
	Traction * getTraction();

	virtual ~Rame();
};

#endif /* RAME_H_ */
